package com.xqls.dal.dao;

import java.util.List;
import java.util.Map;

import com.xqls.dal.model.FlowRecord;

public interface FlowRecordDao {

    int insert(FlowRecord record);
    
   
    /**
	 * 通过条件查询分钟记录
	 * @param map   日期和设备编号，所属模块编号
	 * @return
	 */
    List<Map<String,Object>> selectMinByMap(Map<String,Object> map);
    /**
	 * 通过条件查询小时记录
	 * @param map   日期和设备编号，所属模块编号
	 * @return
	 */
    List<Map<String,Object>> selectHourByMap(Map<String,Object> map);
    /**
	 * 通过条件查询日记录
	 * @param map   日期和设备编号，所属模块编号
	 * @return
	 */
    List<Map<String,Object>> selectDayByMap(Map<String,Object> map);
    /**
	 * 通过条件查询月统计
	 * @param map   日期和设备编号，所属模块编号
	 * @return
	 */
    List<Map<String,Object>> selectMonthByMap(Map<String,Object> map);
    /**
	 * 通过条件查询年统计
	 * @param map   日期和设备编号，所属模块编号
	 * @return
	 */
    List<Map<String,Object>> selectYearByMap(Map<String,Object> map);
    
    Map<String,Object> selectMaxBeforeThisByMap(Map<String,Object> map);
    
    Map<String,Object> selectYearColumn(Map<String,Object> map);
    /**
     * 查询每日最大最少的流量
     * @param map
     * @return
     */
    Map<String,Object> selDayCumulativeFlow(Map<String,Object> map);
    /**
     * 根据传入的时间
     * @param map
     * @return
     */
    public int insertToMonth(Map<String, Object> map);
    /**
     * 根据传入的时间
     * @param map
     * @return
     */
    public int insertToDay(Map<String, Object> map);
    /**
     * 从流量表中查出当天最大 的map
     * @param map
     * @return
     */
    public Map<String, Object> selectMapFromFlow(Map<String, Object> map);
    /**
     * 从天表中查询当月最大的map
     * @param map
     * @return
     */
    public Map<String, Object> selectMapFromDayFlow(Map<String, Object> map);
    
   
    List<Map<String, Object>> getMinuteListByMap(Map<String, Object> map);
    
    List<Map<String, Object>> getHourListByMap(Map<String, Object> map);
    
    List<Map<String, Object>> getDayListByMap(Map<String, Object> map);
    
    List<Map<String, Object>> getMonthListByMap(Map<String, Object> map);
    
    List<Map<String, Object>> getYearListByMap(Map<String, Object> map);
    
    FlowRecord selflow (String deviceNo,String closeMonth);//根据设备编号和时间查询取水量
    
}